草庐IT

java - Java编译器的内部架构

全部标签

javascript - 为什么 ES6 代码和 ES5 代码用 Babel.js 编译后结果不一样?

ES6代码:letfoo='outer';functionbar(func=x=>foo){letfoo='inner';console.log(func());}bar();//outer结果是“外部”。Babel.js编译后的ES5代码:'usestrict';varfoo='outer';functionbar(){varfunc=arguments.length结果是“外部”。我不知道为什么他们有不同的结果。 最佳答案 这是一个buginBabel.复杂参数列表中的表达式应该看不到函数体中的声明,但是这里Babel生成的代码

javascript - DevTools 性能工具中的解析、编译和评估是什么?

在Chromes的性能选项卡中运行JS脚本时,我看到JS解释分为三个步骤:Parse、Compile和Evaluate。有时我只会看到Evaluate,有时会看到Compile和Evaluate,有时会看到全部三个。我的问题是:每个步骤的实际含义是什么?为什么有时会缺少步骤?(例如,有时Parse会丢失) 最佳答案 解析:js引擎检查代码,确定所有不同的范围、变量声明等,并对它们进行排序。在这一步也会发生提升。基本上你的纯文本源代码变成了AbstractSyntaxTree(AST)编译:ChromeV8使用JIT编译,这意味着部分

javascript - 如何使用 Aurelia 通过单击内部 anchor 链接来保持在同一页面上?

我正在为一个项目编写样式指南,目前我希望在anchor链接上有一个基本的点击行为,以便它们滚动到对应的id。举个例子:向下滚动到:在Aurelia中,默认行为是将链接视为路由。我无法使用内部链接,因为它会立即将我转到外部页面。有人知道如何解决这个问题吗?谢谢! 最佳答案 您可以根据documentation以几种不同的方式禁用Aurelia路由器劫持链接。.其中一种方法是使用这些特殊属性之一:SkipHijackingSkipHijackingSkipHijackingSkipHijackingSkipHijackingSkipHi

javascript - jQuery UI 可拖动 - 当内部元素大于父级时,将内部元素限制在父级内

我正在尝试使用jQueryUI实现这种效果-非常类似于您在Facebook上裁剪图像的方式:http://blog.creonfx.com/examples/javascript/facebook-cropping-mootools.html这是一个非常简单的HTML测试用例(div中的img):这里是看起来符合目的的逻辑——但它还没有完成:$("img").draggable({drag:dragHandler});functiondragHandler(event,ui){varx=event.target.x-event.target.parentNode.offsetLeft;

javascript - 从 Web Worker 内部运行 window.crypto.getRandomValues()

我已经无计可施了。知道网络worker无法访问window对象,有什么办法可以做到这一点吗?请帮忙! 最佳答案 我知道这是一个老问题,但我偶然发现了这个问题,事情发生了变化。大多数浏览器现在都支持网络worker中的加密。在webworkers中,您可以访问self,它不包含所有“窗口”属性(尤其是与dom无关的属性),但包含加密函数等API方法。因此,您可以从webworker中简单地访问self.crypto.getRandomValues()。我做了一个fiddle作为例子:http://jsfiddle.net/jbrosi

javascript - Yeoman/Grunt 不编译 Compass

有没有人在将compass与yeoman和grunt一起使用时遇到过样式表未在其构建中编译的问题。我是新手,正试图真正了解幕后发生的事情。任何帮助将不胜感激。谢谢!'usestrict';varlrSnippet=require('grunt-contrib-livereload/lib/utils').livereloadSnippet;varmountFolder=function(connect,dir){returnconnect.static(require('path').resolve(dir));};module.exports=function(grunt){//lo

javascript - 内部函数从外部获取参数

我不明白内部函数如何从.sort()方法传递参数。我知道.sort()将值传递给createComparisonFunction(),但它们如何在内部函数中结束?它是否只从外部函数获取任何未使用的参数?我想了解这种行为。functioncreateComparisonFunction(propertyName){returnfunction(object1,object2){varvalue1=object1[propertyName];varvalue2=object2[propertyName];if(value1value2){return1;}else{return0;}};}

javascript - 如何在插入 DOM 时重新编译指令(angularjs)

好的,所以我创建了一个指令让我们说它按照我的预期进行渲染,所以一切正常。现在,我的问题是插入DOM时如何(重新)渲染它?我不想一直在我的页面上使用它,我只想动态添加它并在需要时呈现它(它是模块的一部分),比方说,理想情况下我希望它看起来像$("body").append("")如何使用angularjs实现这一点? 最佳答案 你需要在任何你想将指令元素注入(inject)DOM的地方写下两行,不要忘记在你使用的任何地方添加$document&$compile依赖vartemplate='',body=$document.find('

javascript - 使用 Angular 从内部循环中隐藏整个 div?

Button{{i}}以上是我现在的代码。我想要它,以便当您单击循环中的其中一个按钮(Button1、Button2、Button3)时,整个div都会被隐藏。但是,我发现当按钮在外面时,我只能隐藏整个div,如下所示...Button{{i}}FinalButton有没有办法使用循环div中的一个内部按钮来隐藏整个div?提前致谢! 最佳答案 ng-repeat创建一个本地范围,以便变量hideme属于该本地范围。实际上有3个变量hideme,每个都在一个按钮的范围内。在$parent作用域上设置属性应该有效,并且让hideme变

javascript - Angular2 提前 (AoT) 编译如何工作?

Angular2带有称为提前(AoT)的新功能。但是看了一番,还是不能真正理解。它是如何工作的?它将如何带来更好的性能?它与JIT有何不同?谢谢。 最佳答案 Angular在模块、指令和管道的View和装饰器中使用声明式绑定(bind),这些需要由浏览器中的JS解释以执行它们的预期目的。离线模板编译器用生成的静态代码替换声明式绑定(bind)和装饰器。这使得Angular2组件实例化和初始化更快,因为JS要做的工作更少。在将应用程序提供给客户端之前,组件的“编译”已经完成。如果您不使用其他在运行时需要它的功能,则可以省略platfo